#ifndef _MAP_MENU_H_
#define _MAP_MENU_H_

#ifdef _WIN3
#pragma once
#endif

#include <vector>
#include <boost/filesystem.hpp>
#include <algorithm>
#include <sstream>

#include "menu.h"
#include "ui_sprite.h"
#include "ui.h"
#include "maploader.h"
#include "mapcontainer.h"

using std::vector;
using std::sort;
using std::back_inserter;
using std::stringstream;

using boost::filesystem::path;
using boost::filesystem::is_directory;
using boost::filesystem::exists;
using boost::filesystem::directory_iterator;

class CApplication;

class CMapMenu : public CMenu
{
public:
    CMapMenu(const path &szPath, float fX, float fY);
    virtual ~CMapMenu() {}

    virtual void onChange(COption *pOldOption, COption *pNewOption);
    virtual void onDeactivate();
    virtual void onActivate();
    
    virtual void callSelected(unsigned char chKey);

private:
    path m_szPath;

    vector<CUISprite*> m_arrImages;
};

#endif